/*
* @Author: An
* @Date:   2017-07-14 10:01:27
* @Last Modified by:   An
* @Last Modified time: 2017-07-14 15:33:12
*/

'use strict';
require('./index.css');
require('page/common/header/index.js');
require('page/common/nav/index.js');
var _xj 			= require('util/xj.js');
var _product 		= require('service/product-service.js');
var _cart 			= require('service/cart-service.js');
var templateIndex 	= require('./index.string');

var page = {
	data : {
		productId 	: _xj.getUrlParam('productId') || ''
	},
	init : function() {
		this.onLoad();
		this.bindEvent();
	},
	onLoad : function() {
		if (!this.data.productId) {
			_xj.goHome();
		}
		this.loadDetail();
	}, 
	bindEvent : function() {
		var _this = this;
		// 图片预览
		$(document).on('mouseenter', '.p-img-item', function() {
			var imageUrl = $(this).find('.p-img').attr('src');
			$('.main-img').attr('src', imageUrl);
		});
		// 对购买数量的操作
		$(document).on('click', '.p-count-btn', function() {
			var type 		= $(this).hasClass('plus') ? 'plus' : 'minus',
				$pCount 	= $('.p-count'),
				currCount 	= parseInt($pCount.val()),
				minCount 	= 1,
				maxCount 	= _this.data.detailInfo.stock || 1;
			if (type === 'plus') {
				$pCount.val(currCount < maxCount ? currCount + 1 : maxCount);
			} else if (type === 'minus') {
				$pCount.val(currCount > minCount ? currCount - 1 : minCount);
			}
		});
		// 加入购物车
		$(document).on('click', '.cart-add', function() {
			_cart.addToCart({
				productId : _this.data.productId,
				count     : $('.p-count').val()
			}, function(res) {
				window.location.href = './result.html?type=cart-add';
			}, function(errMsg) {
				_xj.errorTips(errMsg);
			});
		});
	},
	loadDetail : function() {
		var html 		= '',
			_this 		= this,
			$pageWrap 	= $('.page-wrap');
		$pageWrap.html('<div class="loading"></div>');
		_product.getProductDetail(this.data.productId, function(res) {
			_this.filter(res);
			_this.data.detailInfo = res;
			html = _xj.renderHtml(templateIndex, res);
			$pageWrap.html(html);
		}, function(errMsg) {
			$pageWrap.html('<p class="err-tip">此商品太淘气，找不到了！</p>');
		});
	},
	// 数据匹配
	filter : function(data) {
		data.subImages = data.subImages.split(',');
	}
};
$(function() {
	page.init();
});